package com.healthy.assessment.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.healthy.common.core.annotation.Excel;
import com.healthy.common.core.web.domain.BaseEntity;

/**
 * 健康数据对象 user_health_data
 * 
 * @author 束伟
 * @date 2024-03-29
 */
public class UserHealthData extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户健康数据ID */
    private Integer id;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Integer userId;

    /** 身高（单位：米） */
    @Excel(name = "身高", readConverterExp = "单=位：米")
    private BigDecimal height;

    /** 体重（单位：千克） */
    @Excel(name = "体重", readConverterExp = "单=位：千克")
    private BigDecimal weight;

    /** 体脂率（单位：百分比） */
    @Excel(name = "体脂率", readConverterExp = "单=位：百分比")
    private BigDecimal bodyFatPercentage;

    /** 腰围（单位：厘米） */
    @Excel(name = "腰围", readConverterExp = "单=位：厘米")
    private BigDecimal waistCircumference;

    /** 血压（格式：高压/低压） */
    @Excel(name = "血压", readConverterExp = "格=式：高压/低压")
    private String bloodPressure;

    /** 心率（次/分钟） */
    @Excel(name = "心率", readConverterExp = "次=/分钟")
    private Long heartRate;

    /** 血糖水平（单位：mmol/L） */
    @Excel(name = "血糖水平", readConverterExp = "单=位：mmol/L")
    private BigDecimal bloodSugarLevel;

    /** 胆固醇水平（单位：mmol/L） */
    @Excel(name = "胆固醇水平", readConverterExp = "单=位：mmol/L")
    private BigDecimal cholesterolLevel;

    /** 血红蛋白水平（单位：g/L） */
    @Excel(name = "血红蛋白水平", readConverterExp = "单=位：g/L")
    private BigDecimal hemoglobinLevel;

    /** 骨密度（单位：g/cm²） */
    @Excel(name = "骨密度", readConverterExp = "单=位：g/cm²")
    private BigDecimal boneDensity;

    /** 饮食记录 */
    @Excel(name = "饮食记录")
    private String dietaryRecord;

    /** 运动记录 */
    @Excel(name = "运动记录")
    private String exerciseRecord;

    /** 睡眠质量描述 */
    @Excel(name = "睡眠质量描述")
    private String sleepQuality;

    /** 心理健康评估结果 */
    @Excel(name = "心理健康评估结果")
    private String mentalHealthAssessment;

    /** 家族病史 */
    @Excel(name = "家族病史")
    private String familyHistory;

    /** 过敏史 */
    @Excel(name = "过敏史")
    private String allergyHistory;

    /** 吸烟习惯 */
    @Excel(name = "吸烟习惯")
    private String smokingHabits;

    /** 饮酒习惯 */
    @Excel(name = "饮酒习惯")
    private String alcoholConsumption;

    /** 药物使用情况 */
    @Excel(name = "药物使用情况")
    private String medicationUsage;

    /** 健康评分 */
    @Excel(name = "健康评分")
    private Long healthScore;

    /** 记录日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "记录日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date recordDate;

    /** 备用列1 */
    @Excel(name = "备用列1")
    private String spareColumn1;

    /** 备用列2 */
    @Excel(name = "备用列2")
    private String spareColumn2;

    /** 备用列3 */
    @Excel(name = "备用列3")
    private String spareColumn3;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }
    public void setUserId(Integer userId) 
    {
        this.userId = userId;
    }

    public Integer getUserId() 
    {
        return userId;
    }
    public void setHeight(BigDecimal height) 
    {
        this.height = height;
    }

    public BigDecimal getHeight() 
    {
        return height;
    }
    public void setWeight(BigDecimal weight) 
    {
        this.weight = weight;
    }

    public BigDecimal getWeight() 
    {
        return weight;
    }
    public void setBodyFatPercentage(BigDecimal bodyFatPercentage) 
    {
        this.bodyFatPercentage = bodyFatPercentage;
    }

    public BigDecimal getBodyFatPercentage() 
    {
        return bodyFatPercentage;
    }
    public void setWaistCircumference(BigDecimal waistCircumference) 
    {
        this.waistCircumference = waistCircumference;
    }

    public BigDecimal getWaistCircumference() 
    {
        return waistCircumference;
    }
    public void setBloodPressure(String bloodPressure) 
    {
        this.bloodPressure = bloodPressure;
    }

    public String getBloodPressure() 
    {
        return bloodPressure;
    }
    public void setHeartRate(Long heartRate) 
    {
        this.heartRate = heartRate;
    }

    public Long getHeartRate() 
    {
        return heartRate;
    }
    public void setBloodSugarLevel(BigDecimal bloodSugarLevel) 
    {
        this.bloodSugarLevel = bloodSugarLevel;
    }

    public BigDecimal getBloodSugarLevel() 
    {
        return bloodSugarLevel;
    }
    public void setCholesterolLevel(BigDecimal cholesterolLevel) 
    {
        this.cholesterolLevel = cholesterolLevel;
    }

    public BigDecimal getCholesterolLevel() 
    {
        return cholesterolLevel;
    }
    public void setHemoglobinLevel(BigDecimal hemoglobinLevel) 
    {
        this.hemoglobinLevel = hemoglobinLevel;
    }

    public BigDecimal getHemoglobinLevel() 
    {
        return hemoglobinLevel;
    }
    public void setBoneDensity(BigDecimal boneDensity) 
    {
        this.boneDensity = boneDensity;
    }

    public BigDecimal getBoneDensity() 
    {
        return boneDensity;
    }
    public void setDietaryRecord(String dietaryRecord) 
    {
        this.dietaryRecord = dietaryRecord;
    }

    public String getDietaryRecord() 
    {
        return dietaryRecord;
    }
    public void setExerciseRecord(String exerciseRecord) 
    {
        this.exerciseRecord = exerciseRecord;
    }

    public String getExerciseRecord() 
    {
        return exerciseRecord;
    }
    public void setSleepQuality(String sleepQuality) 
    {
        this.sleepQuality = sleepQuality;
    }

    public String getSleepQuality() 
    {
        return sleepQuality;
    }
    public void setMentalHealthAssessment(String mentalHealthAssessment) 
    {
        this.mentalHealthAssessment = mentalHealthAssessment;
    }

    public String getMentalHealthAssessment() 
    {
        return mentalHealthAssessment;
    }
    public void setFamilyHistory(String familyHistory) 
    {
        this.familyHistory = familyHistory;
    }

    public String getFamilyHistory() 
    {
        return familyHistory;
    }
    public void setAllergyHistory(String allergyHistory) 
    {
        this.allergyHistory = allergyHistory;
    }

    public String getAllergyHistory() 
    {
        return allergyHistory;
    }
    public void setSmokingHabits(String smokingHabits) 
    {
        this.smokingHabits = smokingHabits;
    }

    public String getSmokingHabits() 
    {
        return smokingHabits;
    }
    public void setAlcoholConsumption(String alcoholConsumption) 
    {
        this.alcoholConsumption = alcoholConsumption;
    }

    public String getAlcoholConsumption() 
    {
        return alcoholConsumption;
    }
    public void setMedicationUsage(String medicationUsage) 
    {
        this.medicationUsage = medicationUsage;
    }

    public String getMedicationUsage() 
    {
        return medicationUsage;
    }
    public void setHealthScore(Long healthScore) 
    {
        this.healthScore = healthScore;
    }

    public Long getHealthScore() 
    {
        return healthScore;
    }
    public void setRecordDate(Date recordDate) 
    {
        this.recordDate = recordDate;
    }

    public Date getRecordDate() 
    {
        return recordDate;
    }
    public void setSpareColumn1(String spareColumn1) 
    {
        this.spareColumn1 = spareColumn1;
    }

    public String getSpareColumn1() 
    {
        return spareColumn1;
    }
    public void setSpareColumn2(String spareColumn2) 
    {
        this.spareColumn2 = spareColumn2;
    }

    public String getSpareColumn2() 
    {
        return spareColumn2;
    }
    public void setSpareColumn3(String spareColumn3) 
    {
        this.spareColumn3 = spareColumn3;
    }

    public String getSpareColumn3() 
    {
        return spareColumn3;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("userId", getUserId())
            .append("height", getHeight())
            .append("weight", getWeight())
            .append("bodyFatPercentage", getBodyFatPercentage())
            .append("waistCircumference", getWaistCircumference())
            .append("bloodPressure", getBloodPressure())
            .append("heartRate", getHeartRate())
            .append("bloodSugarLevel", getBloodSugarLevel())
            .append("cholesterolLevel", getCholesterolLevel())
            .append("hemoglobinLevel", getHemoglobinLevel())
            .append("boneDensity", getBoneDensity())
            .append("dietaryRecord", getDietaryRecord())
            .append("exerciseRecord", getExerciseRecord())
            .append("sleepQuality", getSleepQuality())
            .append("mentalHealthAssessment", getMentalHealthAssessment())
            .append("familyHistory", getFamilyHistory())
            .append("allergyHistory", getAllergyHistory())
            .append("smokingHabits", getSmokingHabits())
            .append("alcoholConsumption", getAlcoholConsumption())
            .append("medicationUsage", getMedicationUsage())
            .append("healthScore", getHealthScore())
            .append("recordDate", getRecordDate())
            .append("spareColumn1", getSpareColumn1())
            .append("spareColumn2", getSpareColumn2())
            .append("spareColumn3", getSpareColumn3())
            .toString();
    }
}
